package com.ssy.lingxi.contract.entity;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 采购询价合同
 * @author 伍将
 * @date 2021/3/4
 * @version 2.0.0
 */
@Entity
@Table(schema = "public", name = "con_purchase_inquiry",
        indexes = {@Index(name = "con_purchase_inquiry_demand_member_idx", columnList = "demandMemberId,demandRoleId"),
                @Index(name = "con_purchase_inquiry_award_member_idx", columnList = "awardMemberId,awardRoleId"),
                @Index(name = "con_purchase_inquiry_award_time_idx", columnList = "awardTime"),
                @Index(name = "con_purchase_inquiry_demand_id_idx", columnList = "demandId"),
                @Index(name = "con_purchase_inquiry_create_contract_idx", columnList = "isCreate")})
public class PurchaseInquiryDO implements Serializable {
    private static final long serialVersionUID = 2426951207587905339L;

    /**
     * ID
     */
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "purchase_inquiry_seq")
    @SequenceGenerator(sequenceName = "con_purchase_inquiry_seq", name = "purchase_inquiry_seq", allocationSize = 1)
    private Long id;

    /**
     * 需求会员id
     */
    @Column(columnDefinition = "int8")
    private Long demandMemberId;

    /**
     * 需求会员角色id
     */
    @Column(columnDefinition = "int8")
    private Long demandRoleId;

    /**
     * 需求单id
     */
    @Column(columnDefinition = "int8")
    private Long demandId;

    /**
     * 需求单号
     */
    @Column(columnDefinition = "varchar(16)")
    private String demandNO;

    /**
     * 需求摘要
     */
    @Column(columnDefinition = "varchar(60)")
    private String demandAbstract;

    /**
     * 需求发布时间
     */
    @Column(columnDefinition = "int8")
    private Long demandPublishTime;

    /**
     * 授标会员id
     */
    @Column(columnDefinition = "int8")
    private Long awardMemberId;

    /**
     * 授标会员角色id
     */
    @Column(columnDefinition = "int8")
    private Long awardRoleId;

    /**
     * 授标会员名称
     */
    @Column(columnDefinition = "varchar(50)")
    private String awardName;

    /**
     * 授标时间
     */
    @Column(columnDefinition = "int8")
    private Long awardTime;

    /**
     * 授标金额
     */
    @Column(columnDefinition = "decimal")
    private Double awardAmount;

    /**
     * 内部状态
     */
    @Column(columnDefinition = "int")
    private Integer innerStatus;

    /**
     * 外部状态
     */
    @Column(columnDefinition = "int")
    private Integer outerStatus;

    /**
     * 是否创建合同:0-否，1-是
     */
    @Column(columnDefinition = "int")
    private Integer isCreate;

    /**
     * 创建时间
     */
    @Column(columnDefinition = "int8")
    private Long createTime;

    /**
     * 更新时间
     */
    @Column(columnDefinition = "int8")
    private Long updateTime;

    /**
     *轮次
     */
    @Column(columnDefinition = "int2")
    private Integer turn;
    /**
     * 报价单id
     */
    @Column(columnDefinition = "int8")
    private Long quotedPriceOrderId;

    /**
     * 报价单编号
     */
    @Column(columnDefinition = "varchar(16)")
    private String quotedPriceOrderNo;
    /**
     *采购类型:1.单词采购 2.协议采购
     */
    @Column(columnDefinition = "int2")
    private Integer purchaseType;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getDemandMemberId() {
        return demandMemberId;
    }

    public void setDemandMemberId(Long demandMemberId) {
        this.demandMemberId = demandMemberId;
    }

    public Long getDemandRoleId() {
        return demandRoleId;
    }

    public void setDemandRoleId(Long demandRoleId) {
        this.demandRoleId = demandRoleId;
    }

    public Long getDemandId() {
        return demandId;
    }

    public void setDemandId(Long demandId) {
        this.demandId = demandId;
    }

    public String getDemandNO() {
        return demandNO;
    }

    public void setDemandNO(String demandNO) {
        this.demandNO = demandNO;
    }

    public String getDemandAbstract() {
        return demandAbstract;
    }

    public void setDemandAbstract(String demandAbstract) {
        this.demandAbstract = demandAbstract;
    }

    public Long getDemandPublishTime() {
        return demandPublishTime;
    }

    public void setDemandPublishTime(Long demandPublishTime) {
        this.demandPublishTime = demandPublishTime;
    }

    public Long getAwardMemberId() {
        return awardMemberId;
    }

    public void setAwardMemberId(Long awardMemberId) {
        this.awardMemberId = awardMemberId;
    }

    public Long getAwardRoleId() {
        return awardRoleId;
    }

    public void setAwardRoleId(Long awardRoleId) {
        this.awardRoleId = awardRoleId;
    }

    public String getAwardName() {
        return awardName;
    }

    public void setAwardName(String awardName) {
        this.awardName = awardName;
    }

    public Long getAwardTime() {
        return awardTime;
    }

    public void setAwardTime(Long awardTime) {
        this.awardTime = awardTime;
    }

    public Double getAwardAmount() {
        return awardAmount;
    }

    public void setAwardAmount(Double awardAmount) {
        this.awardAmount = awardAmount;
    }

    public Integer getInnerStatus() {
        return innerStatus;
    }

    public void setInnerStatus(Integer innerStatus) {
        this.innerStatus = innerStatus;
    }

    public Integer getOuterStatus() {
        return outerStatus;
    }

    public void setOuterStatus(Integer outerStatus) {
        this.outerStatus = outerStatus;
    }

    public Integer getIsCreate() {
        return isCreate;
    }

    public void setIsCreate(Integer isCreate) {
        this.isCreate = isCreate;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Long updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getTurn() {
        return turn;
    }

    public void setTurn(Integer turn) {
        this.turn = turn;
    }

    public Long getQuotedPriceOrderId() {
        return quotedPriceOrderId;
    }

    public void setQuotedPriceOrderId(Long quotedPriceOrderId) {
        this.quotedPriceOrderId = quotedPriceOrderId;
    }

    public String getQuotedPriceOrderNo() {
        return quotedPriceOrderNo;
    }

    public void setQuotedPriceOrderNo(String quotedPriceOrderNo) {
        this.quotedPriceOrderNo = quotedPriceOrderNo;
    }

    public Integer getPurchaseType() {
        return purchaseType;
    }

    public void setPurchaseType(Integer purchaseType) {
        this.purchaseType = purchaseType;
    }
}
